package com.tensequare.friend.service;

import com.tensequare.friend.dao.FriendDao;
import com.tensequare.friend.dao.NoFriendDao;
import com.tensequare.friend.pojo.Friend;
import com.tensequare.friend.pojo.NoFriend;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;

/**
 * @Author: Feng.Wang
 * @Company: Zelin.ShenZhen
 * @Description:
 * @Date: Create in 2019/3/29 15:42
 */
@Service
public class FriendService {
    @Autowired
    private FriendDao friendDao;
    @Autowired
    private NoFriendDao noFriendDao;
    @Transactional
    public int  addFriend(String userid,String friendid){
        //1.查看是否有好友列表信息
        int count = friendDao.findCount(userid, friendid);
        //2.判断
        if(count > 0){  //说明在好友列表中己经存在了
            return 0;
        }
        //向好友列表中添加新的内容
        Friend friend=new Friend();
        friend.setUserid(userid);
        friend.setFriendid(friendid);
        friend.setIslike("0");
        friendDao.save(friend);
        //3.判断对方是否喜欢你，如果也喜欢，就设置islike=1
        if(friendDao.findCount(friendid,userid) > 0){
            friendDao.updateLike("1",userid,friendid);
            friendDao.updateLike("1",friendid,userid);
        }
        return 1;
    }
    /**
     * 添加非好友列表
     * @param userid
     * @param friendid
     */
    public void addNoFriend(String userid,String friendid){
        NoFriend noFriend=new NoFriend();
        noFriend.setUserid(userid);
        noFriend.setFriendid(friendid);
        noFriendDao.save(noFriend);
    }
    /**
     * 删除好友
     * @param userid
     * @param friendid
     */
    @Transactional
    public void deleteFriend(String userid,String friendid){
        //1.从tb_friend中删除一条
        friendDao.deleteFriendBy(userid,friendid);
        //2.修改tb_friend中好友方的哪条记录的islike=0
        friendDao.updateLike("0",friendid,userid);
        //3.向tb_nofriend表添加一条记录
        addNoFriend(userid,friendid);
    }
}
